home *** CD-ROM | disk | FTP | other *** search
- property meSprite, firstPos, mPos, foodType, mouthRect, fgSprite, meSndThing, originLocZ, dragSndTrig, dragOnMe, occupied, firstRot, dividum, goalLoc, moveCnt
- global gmObject, sndObject
-
- on autoMove me, pLoc, pRot
- occupied = 1
- if pRot <> VOID then
- firstRot = meSprite.rotation
- divideThis = firstRot - pRot
- dividum = divideThis / 5
- end if
- meSprite.locZ = 100
- goalLoc = pLoc
- end
-
- on autoMoveX me
- if moveCnt < 4 then
- moveCnt = moveCnt + 1
- t = the ticks + 3
- repeat while the ticks < t
- end repeat
- firstLoc = meSprite.loc
- middleLoc = goalLoc + ((firstLoc - goalLoc) / 2)
- meSprite.loc = middleLoc
- if dividum <> 0 then
- meSprite.rotation = meSprite.rotation + dividum
- end if
- updateStage()
- else
- moveCnt = 0
- dividum = 0
- meSprite.rotation = 0
- occupied = 0
- meSprite.locZ = me.spriteNum
- meSprite.loc = goalLoc
- updateStage()
- end if
- end
-
- on beginSprite me
- meSprite = sprite(me.spriteNum)
- originLocZ = meSprite.locZ
- firstPos = meSprite.loc
- meSprite.member = member(gmObject.initSprite(me.spriteNum - 10), 1)
- foodType = value(meSprite.member.name)[1]
- meSndThing = value(meSprite.member.name)[2]
- fgSprite = sprite(10)
- mouthRect = rect(373, 251, 444, 296)
- dragOnMe = 0
- occupied = 0
- end
-
- on mouseDown me
- if dragOnMe = 0 then
- mPos = the mouseLoc - firstPos
- dragOnMe = 1
- meSprite.locZ = 155
- dragSndTrig = 0
- gmObject.dragOn = 1
- if the frame < 8 then
- fgSprite.gotoFrame(10)
- fgSprite.stop()
- end if
- end if
- end
-
- on exitFrame me
- if occupied = 1 then
- autoMoveX(me)
- end if
- if dragOnMe = 1 then
- if dragSndTrig = 0 then
- if foodType > 1 then
- sndObject.respondSnd(2, 4, 1, 1)
- dragSndTrig = 1
- end if
- end if
- meSprite.loc = the mouseLoc - mPos
- updateStage()
- end if
- end
-
- on mouseUp me
- if dragOnMe = 1 then
- meSprite.locZ = originLocZ
- if the frame < 8 then
- if intersect(meSprite.rect, mouthRect) > rect(0, 0, 0, 0) then
- gmObject.soundThing = meSndThing
- if gmObject.testFood(foodType) < 4 then
- go(gmObject.originFrame + gmObject.belly + (5 * foodType))
- else
- go(gmObject.originFrame + gmObject.belly + 20)
- end if
- play frame fgSprite
- eat(me)
- else
- autoMove(me, firstPos)
- play frame fgSprite
- end if
- updateStage()
- else
- autoMove(me, firstPos)
- end if
- gmObject.dragOn = 0
- dragOnMe = 0
- end if
- end
-
- on mouseUpOutSide me
- if dragOnMe = 1 then
- meSprite.locZ = originLocZ
- if the frame < 8 then
- if intersect(meSprite.rect, mouthRect) > rect(0, 0, 0, 0) then
- gmObject.soundThing = meSndThing
- if gmObject.testFood(foodType) < 4 then
- go(gmObject.originFrame + gmObject.belly + (5 * foodType))
- else
- go(gmObject.originFrame + gmObject.belly + 20)
- end if
- play frame fgSprite
- eat(me)
- else
- autoMove(me, firstPos)
- play frame fgSprite
- end if
- updateStage()
- else
- autoMove(me, firstPos)
- end if
- gmObject.dragOn = 0
- dragOnMe = 0
- end if
- end
-
- on eat me
- gmObject.lastThingEaten = me.spriteNum
- meSprite.loc = gmObject.mouthLoc
- repeat while meSprite.scale > 10
- meSprite.scale = meSprite.scale - 20
- meSprite.rotation = meSprite.rotation + 45
- updateStage()
- end repeat
- meSprite.loc = point(1000, 1000)
- meSprite.scale = 100
- meSprite.rotation = 0
- end
-
- on mouseEnter me
- cursor([500, 501])
- end
-
- on mouseLeave me
- cursor(0)
- end
-
- on endSprite me
- cursor(0)
- end
-